<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::scene::ISkinnedMesh Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1scene_1_1_i_skinned_mesh.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::scene::ISkinnedMesh Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::scene::ISkinnedMesh" --><!-- doxytag: inherits="irr::scene::IAnimatedMesh" -->
<p>Interface for using some special functions of Skinned meshes.  
 <a href="classirr_1_1scene_1_1_i_skinned_mesh.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::scene::ISkinnedMesh:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classirr_1_1scene_1_1_i_skinned_mesh.png" usemap="#irr::scene::ISkinnedMesh_map" alt=""/>
  <map id="irr::scene::ISkinnedMesh_map" name="irr::scene::ISkinnedMesh_map">
<area href="classirr_1_1scene_1_1_i_animated_mesh.html" title="Interface for an animated mesh." alt="irr::scene::IAnimatedMesh" shape="rect" coords="0,112,157,136"/>
<area href="classirr_1_1scene_1_1_i_mesh.html" title="Class which holds the geometry of an object." alt="irr::scene::IMesh" shape="rect" coords="0,56,157,80"/>
<area href="classirr_1_1_i_reference_counted.html" title="Base class of most objects of the Irrlicht Engine." alt="irr::IReferenceCounted" shape="rect" coords="0,0,157,24"/>
</map>
 </div></div>

<p><a href="classirr_1_1scene_1_1_i_skinned_mesh-members.html">List of all members.</a></p>
<h2><a name="nested-classes"></a>
Classes</h2>
<ul>
<li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>
<dl class="el"><dd class="mdescRight">Joints.  <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a>
<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new position.  <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a>
<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new rotation.  <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a>
<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new scale.  <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a>
<dl class="el"><dd class="mdescRight">A vertex weight.  <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html#details">More...</a><br/></dl></ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a713edfbc7f3e9394487882156dc6fe2f">addJoint</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *parent=0)=0
<dl class="el"><dd class="mdescRight">Adds a new joint to the mesh, access it as last one.  <a href="#a713edfbc7f3e9394487882156dc6fe2f"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#abc55b0dc2c1e80ef5fa4cab8e17b76af">addMeshBuffer</a> ()=0
<dl class="el"><dd class="mdescRight">Adds a new meshbuffer to the mesh, access it as last one.  <a href="#abc55b0dc2c1e80ef5fa4cab8e17b76af"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a4441937c52c1fdf3d2bbaeff1406716d">addPositionKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
<dl class="el"><dd class="mdescRight">Adds a new position key to the mesh, access it as last one.  <a href="#a4441937c52c1fdf3d2bbaeff1406716d"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ab5d41c1fc22de5d7cb9c376d2a873ab9">addRotationKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
<dl class="el"><dd class="mdescRight">Adds a new rotation key to the mesh, access it as last one.  <a href="#ab5d41c1fc22de5d7cb9c376d2a873ab9"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a3601a01c99594fe8db3cccaec89df7d6">addScaleKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
<dl class="el"><dd class="mdescRight">Adds a new scale key to the mesh, access it as last one.  <a href="#a3601a01c99594fe8db3cccaec89df7d6"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a6b79ee2544eb0ffe8501c06fd347ea89">addWeight</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
<dl class="el"><dd class="mdescRight">Adds a new weight to the mesh, access it as last one.  <a href="#a6b79ee2544eb0ffe8501c06fd347ea89"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a5cbb9dad48413636f9e9c2ac9201cfae">animateMesh</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> frame, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> blend)=0
<dl class="el"><dd class="mdescRight">Animates this mesh's joints based on frame input.  <a href="#a5cbb9dad48413636f9e9c2ac9201cfae"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ae63f3f1a74bf38c4b5113e3a5b96c0f3">convertMeshToTangents</a> ()=0
<dl class="el"><dd class="mdescRight">converts the vertex type of all meshbuffers to tangents.  <a href="#ae63f3f1a74bf38c4b5113e3a5b96c0f3"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a83549df06904513c439c92e34b424b02">finalize</a> ()=0
<dl class="el"><dd class="mdescRight">loaders should call this after populating the mesh  <a href="#a83549df06904513c439c92e34b424b02"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt; <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a4fcdc38666f24a092191668ff909936f">getAllJoints</a> ()=0
<dl class="el"><dd class="mdescRight">exposed for loaders: joints list  <a href="#a4fcdc38666f24a092191668ff909936f"></a><br/></dl><li>virtual const <a class="el" href="classirr_1_1core_1_1array.html">core::array</a><br class="typebreak"/>
&lt; <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a8dcc5dc083cd93a349acd0a2e01da539">getAllJoints</a> () const =0
<dl class="el"><dd class="mdescRight">exposed for loaders: joints list  <a href="#a8dcc5dc083cd93a349acd0a2e01da539"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a7715fb82ffec225d2fd9b8aa860e3c38">getJointCount</a> () const =0
<dl class="el"><dd class="mdescRight">Gets joint count.  <a href="#a7715fb82ffec225d2fd9b8aa860e3c38"></a><br/></dl><li>virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ab28aed78a7e2eeaa20ba7eb0eb082ba4">getJointName</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> number) const =0
<dl class="el"><dd class="mdescRight">Gets the name of a joint.  <a href="#ab28aed78a7e2eeaa20ba7eb0eb082ba4"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ace7288f54490d017efebe24c3eb46ab8">getJointNumber</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name) const =0
<dl class="el"><dd class="mdescRight">Gets a joint number from its name.  <a href="#ace7288f54490d017efebe24c3eb46ab8"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a><br class="typebreak"/>
&lt; <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a5c46b784d6e8b7479e6f630377ab42ef">getMeshBuffers</a> ()=0
<dl class="el"><dd class="mdescRight">exposed for loaders: to add mesh buffers  <a href="#a5c46b784d6e8b7479e6f630377ab42ef"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a2131a8693a84e29036ffff69955a2ec1">isStatic</a> ()=0
<dl class="el"><dd class="mdescRight">Check if the mesh is non-animated.  <a href="#a2131a8693a84e29036ffff69955a2ec1"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a42ff192210ffc61a4c9fe8184b466b17">setHardwareSkinning</a> (bool on)=0
<dl class="el"><dd class="mdescRight">Allows to enable hardware skinning.  <a href="#a42ff192210ffc61a4c9fe8184b466b17"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#afbb087c018dac08007ff5d22c6fe86b9">setInterpolationMode</a> (<a class="el" href="namespaceirr_1_1scene.html#a26f30865cf5527e7255a8495e280314c">E_INTERPOLATION_MODE</a> mode)=0
<dl class="el"><dd class="mdescRight">Sets Interpolation Mode.  <a href="#afbb087c018dac08007ff5d22c6fe86b9"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a3bd5dd1429c13bce259557875a5bbe7d">skinMesh</a> ()=0
<dl class="el"><dd class="mdescRight">Preforms a software skin on this mesh based of joint positions.  <a href="#a3bd5dd1429c13bce259557875a5bbe7d"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a19f264883a006d68b44f8b81d8ff5927">updateNormalsWhenAnimating</a> (bool on)=0
<dl class="el"><dd class="mdescRight">Update Normals when Animating.  <a href="#a19f264883a006d68b44f8b81d8ff5927"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a1d7d56472adeb21aada79c361bf142be">useAnimationFrom</a> (const <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a> *mesh)=0
<dl class="el"><dd class="mdescRight">Use animation from another mesh.  <a href="#a1d7d56472adeb21aada79c361bf142be"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Interface for using some special functions of Skinned meshes. </p>

<p>Definition at line <a class="el" href="_i_skinned_mesh_8h_source.html#l00032">32</a> of file <a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a>.</p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a713edfbc7f3e9394487882156dc6fe2f"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addJoint" ref="a713edfbc7f3e9394487882156dc6fe2f" args="(SJoint *parent=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>* irr::scene::ISkinnedMesh::addJoint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
          <td class="paramname"><em>parent</em> = <code>0</code></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new joint to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="abc55b0dc2c1e80ef5fa4cab8e17b76af"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addMeshBuffer" ref="abc55b0dc2c1e80ef5fa4cab8e17b76af" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a>* irr::scene::ISkinnedMesh::addMeshBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new meshbuffer to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="a4441937c52c1fdf3d2bbaeff1406716d"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addPositionKey" ref="a4441937c52c1fdf3d2bbaeff1406716d" args="(SJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a>* irr::scene::ISkinnedMesh::addPositionKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
          <td class="paramname"><em>joint</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new position key to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="ab5d41c1fc22de5d7cb9c376d2a873ab9"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addRotationKey" ref="ab5d41c1fc22de5d7cb9c376d2a873ab9" args="(SJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a>* irr::scene::ISkinnedMesh::addRotationKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
          <td class="paramname"><em>joint</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new rotation key to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="a3601a01c99594fe8db3cccaec89df7d6"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addScaleKey" ref="a3601a01c99594fe8db3cccaec89df7d6" args="(SJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a>* irr::scene::ISkinnedMesh::addScaleKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
          <td class="paramname"><em>joint</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new scale key to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="a6b79ee2544eb0ffe8501c06fd347ea89"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addWeight" ref="a6b79ee2544eb0ffe8501c06fd347ea89" args="(SJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a>* irr::scene::ISkinnedMesh::addWeight </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
          <td class="paramname"><em>joint</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a new weight to the mesh, access it as last one. </p>

</div>
</div>
<a class="anchor" id="a5cbb9dad48413636f9e9c2ac9201cfae"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::animateMesh" ref="a5cbb9dad48413636f9e9c2ac9201cfae" args="(f32 frame, f32 blend)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::animateMesh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>blend</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Animates this mesh's joints based on frame input. </p>

</div>
</div>
<a class="anchor" id="ae63f3f1a74bf38c4b5113e3a5b96c0f3"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::convertMeshToTangents" ref="ae63f3f1a74bf38c4b5113e3a5b96c0f3" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::convertMeshToTangents </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>converts the vertex type of all meshbuffers to tangents. </p>
<p>E.g. used for bump mapping. </p>

</div>
</div>
<a class="anchor" id="a83549df06904513c439c92e34b424b02"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::finalize" ref="a83549df06904513c439c92e34b424b02" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::finalize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>loaders should call this after populating the mesh </p>

</div>
</div>
<a class="anchor" id="a4fcdc38666f24a092191668ff909936f"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getAllJoints" ref="a4fcdc38666f24a092191668ff909936f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>*&gt;&amp; irr::scene::ISkinnedMesh::getAllJoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>exposed for loaders: joints list </p>

</div>
</div>
<a class="anchor" id="a8dcc5dc083cd93a349acd0a2e01da539"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getAllJoints" ref="a8dcc5dc083cd93a349acd0a2e01da539" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>*&gt;&amp; irr::scene::ISkinnedMesh::getAllJoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>exposed for loaders: joints list </p>

</div>
</div>
<a class="anchor" id="a7715fb82ffec225d2fd9b8aa860e3c38"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointCount" ref="a7715fb82ffec225d2fd9b8aa860e3c38" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> irr::scene::ISkinnedMesh::getJointCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets joint count. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Amount of joints in the skeletal animated mesh. </dd></dl>

</div>
</div>
<a class="anchor" id="ab28aed78a7e2eeaa20ba7eb0eb082ba4"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointName" ref="ab28aed78a7e2eeaa20ba7eb0eb082ba4" args="(u32 number) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a>* irr::scene::ISkinnedMesh::getJointName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
          <td class="paramname"><em>number</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the name of a joint. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">number,:</td><td>Zero based index of joint. The last joint has the number <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a7715fb82ffec225d2fd9b8aa860e3c38" title="Gets joint count.">getJointCount()</a>-1; </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Name of joint and null if an error happened. </dd></dl>

</div>
</div>
<a class="anchor" id="ace7288f54490d017efebe24c3eb46ab8"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointNumber" ref="ace7288f54490d017efebe24c3eb46ab8" args="(const c8 *name) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::ISkinnedMesh::getJointNumber </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a joint number from its name. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name,:</td><td>Name of the joint. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of the joint or -1 if not found. </dd></dl>

</div>
</div>
<a class="anchor" id="a5c46b784d6e8b7479e6f630377ab42ef"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getMeshBuffers" ref="a5c46b784d6e8b7479e6f630377ab42ef" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a>*&gt;&amp; irr::scene::ISkinnedMesh::getMeshBuffers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>exposed for loaders: to add mesh buffers </p>

</div>
</div>
<a class="anchor" id="a2131a8693a84e29036ffff69955a2ec1"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::isStatic" ref="a2131a8693a84e29036ffff69955a2ec1" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISkinnedMesh::isStatic </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the mesh is non-animated. </p>

</div>
</div>
<a class="anchor" id="a42ff192210ffc61a4c9fe8184b466b17"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::setHardwareSkinning" ref="a42ff192210ffc61a4c9fe8184b466b17" args="(bool on)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISkinnedMesh::setHardwareSkinning </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>on</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allows to enable hardware skinning. </p>

</div>
</div>
<a class="anchor" id="afbb087c018dac08007ff5d22c6fe86b9"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::setInterpolationMode" ref="afbb087c018dac08007ff5d22c6fe86b9" args="(E_INTERPOLATION_MODE mode)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::setInterpolationMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr_1_1scene.html#a26f30865cf5527e7255a8495e280314c">E_INTERPOLATION_MODE</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets Interpolation Mode. </p>

</div>
</div>
<a class="anchor" id="a3bd5dd1429c13bce259557875a5bbe7d"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::skinMesh" ref="a3bd5dd1429c13bce259557875a5bbe7d" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::skinMesh </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Preforms a software skin on this mesh based of joint positions. </p>

</div>
</div>
<a class="anchor" id="a19f264883a006d68b44f8b81d8ff5927"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::updateNormalsWhenAnimating" ref="a19f264883a006d68b44f8b81d8ff5927" args="(bool on)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISkinnedMesh::updateNormalsWhenAnimating </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>on</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update Normals when Animating. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">on</td><td>If false don't animate, which is faster. Else update normals, which allows for proper lighting of animated meshes. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1d7d56472adeb21aada79c361bf142be"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::useAnimationFrom" ref="a1d7d56472adeb21aada79c361bf142be" args="(const ISkinnedMesh *mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISkinnedMesh::useAnimationFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a> *&#160;</td>
          <td class="paramname"><em>mesh</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Use animation from another mesh. </p>
<p>The animation is linked (not copied) based on joint names so make sure they are unique. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if all joints in this mesh were matched up (empty names will not be matched, and it's case sensitive). Unmatched joints will not be animated. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1scene.html">scene</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:54 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
